package com.yc.ycpaimon.data.json

import com.google.gson.annotations.SerializedName


/**
 * Creator: yc
 * Date: 2022/2/28 17:29
 * UseDes:
 */
data class VersionJson(
    @SerializedName("assets")
    val assets: List<Asset>?,
    @SerializedName("assets_url")
    val assetsUrl: String?, // https://api.github.com/repos/QooLianyi/PaimonsNotebook/releases/60576130/assets
    @SerializedName("author")
    val author: Author?,
    @SerializedName("body")
    val body: String?, // # 派蒙的笔记本 1.1.1更新内容:### 修改- #### 胡桃数据库圣遗物列表项样式***### 修复- #### 胡桃数据库圣遗物搭配界面圣遗物显示错误- #### 胡桃数据库圣遗物搭配界面角色名称特定情况下会显示不全- #### 自动获取新版本,打开网页显示404
    @SerializedName("created_at")
    val createdAt: String?, // 2022-02-27T14:15:24Z
    @SerializedName("draft")
    val draft: Boolean?, // false
    @SerializedName("html_url")
    val htmlUrl: String?, // https://github.com/QooLianyi/PaimonsNotebook/releases/tag/2022.2.28
    @SerializedName("id")
    val id: Int?, // 60576130
    @SerializedName("name")
    val name: String?, // 1.1.1
    @SerializedName("node_id")
    val nodeId: String?, // RE_kwDOGfJflc4DnFGC
    @SerializedName("prerelease")
    val prerelease: Boolean?, // false
    @SerializedName("published_at")
    val publishedAt: String?, // 2022-02-28T03:56:11Z
    @SerializedName("tag_name")
    val tagName: String?, // 2022.2.28
    @SerializedName("tarball_url")
    val tarballUrl: String?, // https://api.github.com/repos/QooLianyi/PaimonsNotebook/tarball/2022.2.28
    @SerializedName("target_commitish")
    val targetCommitish: String?, // master
    @SerializedName("upload_url")
    val uploadUrl: String?, // https://uploads.github.com/repos/QooLianyi/PaimonsNotebook/releases/60576130/assets{?name,label}
    @SerializedName("url")
    val url: String?, // https://api.github.com/repos/QooLianyi/PaimonsNotebook/releases/60576130
    @SerializedName("zipball_url")
    val zipballUrl: String? // https://api.github.com/repos/QooLianyi/PaimonsNotebook/zipball/2022.2.28
) {
    data class Asset(
        @SerializedName("browser_download_url")
        val browserDownloadUrl: String?, // https://github.com/QooLianyi/PaimonsNotebook/releases/download/2022.2.28/1.1.1.apk
        @SerializedName("content_type")
        val contentType: String?, // application/vnd.android.package-archive
        @SerializedName("created_at")
        val createdAt: String?, // 2022-02-28T04:14:27Z
        @SerializedName("download_count")
        val downloadCount: Int?, // 1
        @SerializedName("id")
        val id: Int?, // 58102799
        @SerializedName("label")
        val label: Any?, // null
        @SerializedName("name")
        val name: String?, // 1.1.1.apk
        @SerializedName("node_id")
        val nodeId: String?, // RA_kwDOGfJflc4DdpQP
        @SerializedName("size")
        val size: Int?, // 12156802
        @SerializedName("state")
        val state: String?, // uploaded
        @SerializedName("updated_at")
        val updatedAt: String?, // 2022-02-28T04:14:36Z
        @SerializedName("uploader")
        val uploader: Uploader?,
        @SerializedName("url")
        val url: String? // https://api.github.com/repos/QooLianyi/PaimonsNotebook/releases/assets/58102799
    ) {
        data class Uploader(
            @SerializedName("avatar_url")
            val avatarUrl: String?, // https://avatars.githubusercontent.com/u/80865024?v=4
            @SerializedName("events_url")
            val eventsUrl: String?, // https://api.github.com/users/QooLianyi/events{/privacy}
            @SerializedName("followers_url")
            val followersUrl: String?, // https://api.github.com/users/QooLianyi/followers
            @SerializedName("following_url")
            val followingUrl: String?, // https://api.github.com/users/QooLianyi/following{/other_user}
            @SerializedName("gists_url")
            val gistsUrl: String?, // https://api.github.com/users/QooLianyi/gists{/gist_id}
            @SerializedName("gravatar_id")
            val gravatarId: String?,
            @SerializedName("html_url")
            val htmlUrl: String?, // https://github.com/QooLianyi
            @SerializedName("id")
            val id: Int?, // 80865024
            @SerializedName("login")
            val login: String?, // QooLianyi
            @SerializedName("node_id")
            val nodeId: String?, // MDQ6VXNlcjgwODY1MDI0
            @SerializedName("organizations_url")
            val organizationsUrl: String?, // https://api.github.com/users/QooLianyi/orgs
            @SerializedName("received_events_url")
            val receivedEventsUrl: String?, // https://api.github.com/users/QooLianyi/received_events
            @SerializedName("repos_url")
            val reposUrl: String?, // https://api.github.com/users/QooLianyi/repos
            @SerializedName("site_admin")
            val siteAdmin: Boolean?, // false
            @SerializedName("starred_url")
            val starredUrl: String?, // https://api.github.com/users/QooLianyi/starred{/owner}{/repo}
            @SerializedName("subscriptions_url")
            val subscriptionsUrl: String?, // https://api.github.com/users/QooLianyi/subscriptions
            @SerializedName("type")
            val type: String?, // User
            @SerializedName("url")
            val url: String? // https://api.github.com/users/QooLianyi
        )
    }

    data class Author(
        @SerializedName("avatar_url")
        val avatarUrl: String?, // https://avatars.githubusercontent.com/u/80865024?v=4
        @SerializedName("events_url")
        val eventsUrl: String?, // https://api.github.com/users/QooLianyi/events{/privacy}
        @SerializedName("followers_url")
        val followersUrl: String?, // https://api.github.com/users/QooLianyi/followers
        @SerializedName("following_url")
        val followingUrl: String?, // https://api.github.com/users/QooLianyi/following{/other_user}
        @SerializedName("gists_url")
        val gistsUrl: String?, // https://api.github.com/users/QooLianyi/gists{/gist_id}
        @SerializedName("gravatar_id")
        val gravatarId: String?,
        @SerializedName("html_url")
        val htmlUrl: String?, // https://github.com/QooLianyi
        @SerializedName("id")
        val id: Int?, // 80865024
        @SerializedName("login")
        val login: String?, // QooLianyi
        @SerializedName("node_id")
        val nodeId: String?, // MDQ6VXNlcjgwODY1MDI0
        @SerializedName("organizations_url")
        val organizationsUrl: String?, // https://api.github.com/users/QooLianyi/orgs
        @SerializedName("received_events_url")
        val receivedEventsUrl: String?, // https://api.github.com/users/QooLianyi/received_events
        @SerializedName("repos_url")
        val reposUrl: String?, // https://api.github.com/users/QooLianyi/repos
        @SerializedName("site_admin")
        val siteAdmin: Boolean?, // false
        @SerializedName("starred_url")
        val starredUrl: String?, // https://api.github.com/users/QooLianyi/starred{/owner}{/repo}
        @SerializedName("subscriptions_url")
        val subscriptionsUrl: String?, // https://api.github.com/users/QooLianyi/subscriptions
        @SerializedName("type")
        val type: String?, // User
        @SerializedName("url")
        val url: String? // https://api.github.com/users/QooLianyi
    )
}